The present invention is of an e-mail proxy, embodied as a system and a method, for enabling e-mail (electronic mail) messages to be received more quickly and efficiently by the user, and in particular, to such a system and method in which the user is able to separately receive e-mail text messages and attachments, preferably with streaming transmissions which have already been decoded.
Currently, most computer users (hereinafter also referred to as “users”) receive e-mail messages through a connection between a computer and an e-mail server. The e-mail server holds the received e-mail messages for the user, and may be installed at an ISP (Internet Service Provider), for example. Such servers usually operate according to the POP3 (Post Office Protocol 3) protocol or alternatively according to the IMAP4 (Internet Message Access Protocol, version 4) protocol. The computer of the user must operate an e-mail client, which is a software program for communicating with the e-mail server in order to download the e-mail messages, and then for displaying these e-mail messages to the user. The e-mail client communicates with the e-mail server according to the POP3 or IMAP4 protocol for receiving e-mail messages, and SMTP (Simple Message Transfer Protocol) for sending (or forwarding) e-mail messages.
The e-mail messages are typically encoded in the standard MIME multi-part message format, which enables the message to optionally also include one or more attachments, for example. Each part of the multi-part message may be separately and differently encoded, for example for plain text messages, as opposed to attached word processing documents, image files, video data, audio data and so forth. Such a multi-part message may be very large because of the size of the attachment(s).
Unfortunately, the e-mail client currently downloads the entire multi-part e-mail message when connected to the e-mail server for receiving messages. Since such a multi-part message may be very large, the process of downloading each message may require a significant period of time. Furthermore, the user cannot view each message with attachment(s) if any, until the entire message has been downloaded. If the computer of the user is connected to the e-mail server through a relatively slow, low bandwidth connection, such as a dial-up modem for example, then this process can be frustratingly slow.
The process is further slowed by the requirement for encoding the attachments in BASE64, in order to prevent the exposure of any control characters in the attachments to any servers which pass the e-mail message through the Internet. The BASE64 encoding method represents every 24 bits of the attachment with 32 bits, thereby increasing the size of the encoded attachments by about one third. Thus, the currently available mechanism for downloading e-mail messages clearly has a number of drawbacks.
An improved solution to this problem would enable the user to review e-mail messages before downloading them, or at least before downloading the complete multi-part message with attachment(s), as text-only e-mail messages are relatively small and quick to download. The user would still be able to download attachments of interest. In addition, the improved solution would provide for a streaming process for downloading e-mail attachments, in order for the user to be able to view the e-mail message as it is being downloaded. Unfortunately, such a solution is not currently available.
There is thus a need for, and it would be useful to have, a system and a method for providing an e-mail proxy, such that user can optionally select particular attachments to download and such that the attachments can be downloaded separately, and which would also optionally and preferably enable the e-mail attachments to be downloaded in a streamed manner, for increased speed and efficiency of downloading.